<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>高阶微分方程</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="../../css/note.css" />
</head>
<body>

<h2>常数变易法</h2>

<p>
  设方程
  <span class="formula">
    `x^((n))(t) + a_(n-1)(t) x^((n-1))(t) + cdots + a_0(t) x(t) = f(t),
  </span>
  亦即
  <span class="formula">
    `sum_(k=0)^n a_k(t) x^((k))(t) = f(t)`, `quad a_n(t) = 1`
  </span>
  对应的齐方程的基本解组为
  <span class="formula">
    `x_k(t)`, `quad k = 1, 2, cdots, n`.
  </span>
  我们解线性方程组
  <span class="formula">
    `[
      x_1(t), x_2(t), cdots, x_n(t);
      x_1'(t), x_2'(t), cdots, x_n'(t);
      vdots, vdots, , vdots;
      x_1^((n-1))(t), x_2^((n-1))(t), cdots, x_n^((n-1))(t);
    ][ c_1'(t); c_2'(t); vdots; c_n'(t) ] = [ 0; 0; vdots; f(t) ]`,
  </span>
  再积分, 就得到非齐方程的通解
  <span class="formula">
    `x = sum_(k=1)^n c_k(t) x_k(t)`.
  </span>
</p>

<p class="proof">
  直接验证:
  <span class="formula">
    `x = sum c_j x_j`,<br>
    `x' = sum c_j x_j' + c_j' x_j = sum c_j x_j'`,<br>
    `x'' = sum c_j x_j''`,<br>
    `cdots`<br>
    `x^((n)) = sum c_j x_j^((n)) + c_j' x_j^((n-1))`
    `= sum c_j x_j^((n)) + f`.
  </span>
  求和得
  <span class="formula">
    `sum_(k=0)^n a_k x^((k))`
    `= sum_(k=0)^n a_k sum_(j=1)^n c_j x_j^((k)) + f`
    `= f`.
  </span>
</p>

<p class="example" id="exp-2nd-linear-nonhomogen-1">
  <b>受迫振动</b> 解如下的常微分方程初值问题:
  <span class="formula">`{
    x'' + a^2 x = f(t);
    x"|"_(t=0) = x_0;
    x'"|"_(t=0) = x'_0;
  :}`
  </span>
</p>

<p class="solution">
  `{cos at, sin at}` 构成齐方程的基本解组. 设 `x = c_1 cos at + c_2 sin
  at`, 解线性方程组
  <span class="formula">`{
    c_1' cos at + c_2' sin at = 0;
    c_1' sin at - c_2' cos at = -f//a;
  :}`
  </span>
  得 `(c_1', c_2') = f//a (-sin at, cos at)`. 由初值条件有
  <span class="formula">
    `c_2|_(t=0) = (x_0')//a`, `quad c_1|_(t=0) = x_0`,
  </span>
  故
  <span class="formula">
    `c_1 = -1/a int_0^t f(tau) sin a tau "d"tau + x_0`,<br/>
    `c_2 = 1/a (int_0^t f(tau) cos a tau "d"tau + x_0')`.
  </span>
  所以解为
  <span class="formula">
    `x = x_0 cos at + (x_0')/a sin at + 1/a int_0^t f(tau) sin[a(t-tau)]
    "d"tau`.
  </span>
</p>

<h2>常系数齐次线性方程</h2>

<p>
  解方程
  <span class="formula">
    `x^((n)) + a_(n-1) x^((n-1)) + cdots + a_0 x = 0`,
    `quad a_k in RR`.
  </span>
  设特征多项式
  <span class="formula">
    `lambda^n + a_(n-1) lambda^(n-1) + cdots + a_1 lambda + a_0`
  </span>
  的根 (即特征根) 为 `lambda_i`, 重数分别为 `n_i`,
  `i = 1, 2, cdots, l`, 且 `sum_(i=1)^l n_i = n`.
  则微分方程的基本解组为
  <span class="formula">
    `t^j "e"^(lambda_i t)`,
    `quad j = 0, 1, cdots, n_i-1`,
    `quad i = 1, 2, cdots, l`.
  </span>
  若 `lambda_i = alpha + "i" beta` 为复根, 则
  `bar(lambda_i) = alpha - "i" beta` 也必为特征根,
  可以将基本解组中的一对共轭复根
  `"e"^((alpha +- "i" beta) t)`
  换成
  `"e"^(alpha t) cos beta t` 与 `"e"^(alpha t) sin beta t`.
</p>

<h3>Euler 方程</h3>

<span class="formula">
  `t^n x^((n)) + a_(n-1) t^(n-1) x^((n-1)) + cdots + a_0 x = 0`.
</span>

<p>	将 `x = t^lambda` 代入方程, 得到 `n` 个特征根. 基本解组为
	<span class="formula">
		`ln^j |t| t^(lambda_i)`.
	</span>
	`i, j` 的迭代范围与常系数齐次方程相同.
</p>

<h2>常系数非齐次线性方程</h2>

<span class="formula">
  `x^((n)) + a_(n-1) x^((n-1)) + cdots + a_0 x = f(t)`, `quad a_k in RR`.
</span>

<p>非齐次方程的通解就是齐次方程的通解加上自身的一个特解; 因此我们着重介绍特解的求法.
</p>

<h3>多项式法 + 升阶法</h3>

<p>一般而言, 这两种方法计算比较繁琐, 不如比较系数法.</p>

<h4>多项式法</h4>

<p>
  解常系数线性微分方程 `y''+p y'+q y = P_m(x) "e"^(lambda x)`,
  其中 `p`, `q`, `lambda` 是常数, `P_m(x)` 是 `x` 的 `m` 次多项式.
  令 `y = z "e"^(lambda z)`, 方程化为
  <span class="formula">
    `(F''(lambda))/(2!) z'' + (F'(lambda))/(1!) z' + F(lambda) z = P_m(x)`,
  </span>
  这里 `F(lambda) = lambda^2 + p lambda + q` 为方程的特征多项式.
  新的方程有多项式形式的特解, 可用待定系数法求解.
</p>

<h4>升阶法</h4>

<p>
  设 `y''+p y'+q y = P_m(x)`. 其中 `P_m(x)` 是 `m` 次多项式
  `sum_(k=0)^m a_k x^k`.
  方程两边同时对 `x` 求导 `m` 次得
  <span class="formula">
    `y''' + p y'' + q y' = P_m'(x)`,<br/>
    `cdots`<br/>
    `y^((m+1)) + p y^((m)) + q y^((m-1)) = a_m m! x + a_(m-1) (m-1)!`,<br/>
    `y^((m+2)) + p y^((m+1)) + q y^((m)) = a_m m!`.
  </span>
  `q != 0` 时, 取最后一个方程的特解 `y^((m)) = q^(-1) a_m m!`,
  和 `y^((m+1)) = 0` 一起代入倒数第二个方程求得 `y^((m-1))`,
  如此依次代入前式, 最后可得方程的一个特解 `y(x)`.
</p>

<h3>比较系数法</h3>

<h4>
	`f(t) = P_m(t) "e"^(lambda t)`, `quad P_m` 为 `m` 次多项式.
</h4>

<p> 此时有特解 `Q_m(t) t^k "e"^(lambda t)`, `k` 为 `lambda`
	在特征多项式中的重数, `Q_m(t)` 是系数待定的 `m` 次多项式.
</p>

<h4>
	`f(t) = A_m(t) "e"^(alpha t) cos beta t` 或
	`f(t) = A_m(t) "e"^(alpha t) sin beta t`,
	`quad A_m` 为 `m` 次多项式.
</h4>

<p>	此时有特解
	`(P_m(t) cos beta t + Q_m(t) sin beta t) t^k "e"^(alpha t)`,
	`k` 为 `lambda = alpha + "i" beta` 在特征多项式中的重数
	(注意到 `lambda` 及其共轭在特征多项式中的重数相等),
	`P_m(t), Q_m(t)` 为系数待定的 `m` 次多项式.
</p>

<p>
  利用以上两种类型的非齐次项, 结合线性叠加原理,
  可写出更多非齐次项对应的特解.
</p>

<p class="example">
  解 Lanchester 方程
  <span class="formula">`{
    ("d"A)/dt = -beta^2 B;
    ("d"B)/dt = -alpha^2 A;
  :}`</span>
  其中 `A(0) = A_0`, `B(0) = B_0`.
</p>

<p class="solution">
  令 `f' = B`, 且 `f(0) = 0`. 原方程组化为
  <span class="formula">`{
    ("d"A)/dt = -beta^2 ("d"f)/dt;
    ("d"^2 f)/dt^2 = -alpha^2 A;
  :}`</span>
  第一式两边积分得 `A = -beta^2 f + A_0`, 代入第二式就有
  <span class="formula">
    `f'' = alpha^2 beta^2 f - alpha^2 A_0`,
  </span>
  它的解设为
  <span class="formula">
    `f = c_1 "e"^(alpha beta t) + c_2 "e"^(-alpha beta t) + c_3`.
  </span>
  代入前式得 `c_3 = A_0/beta^2`.
  又
  <span class="formula">
    `B = f' = alpha beta (c_1 "e"^(alpha beta t) - c_2 "e"^(-alpha beta t))`,
  </span>
  由 `f(0) = 0` 和 `B(0) = B_0` 有
  <span class="formula">`{
    c_1 + c_2 = -A_0/beta^2;
    c_1 - c_2 = B_0/(alpha beta);
  :}`</span>
  解得
  `c_(1, 2) = 1/(2 beta) (-A_0/beta +- B_0/alpha)`.
  最终
  <span class="formula">
    `A = (A_0 alpha cosh(alpha beta t) - B_0 beta sinh(alpha beta t))//alpha`,
    <br/>
    `B = (-A_0 alpha sinh(alpha beta t) + B_0 beta cosh(alpha beta t))//beta`.
  </span>
</p>

<p class="remark">
  从相平面上看, 有 `("d"A)/("d"B) = (beta^2 B)/(alpha^2 A)`,
  解为 `alpha^2 A^2 = beta^2 B^2 + c`, 是双曲线.
</p>

<h3>Laplace 变换</h3>

<p>参见<a href="../complex/6.html">积分变换</a>.</p>

<h3>降阶法</h3>

<h4>n 阶方程 `F(t, x^((k)), x^((k+1)), cdots, x^((n))) = 0`</h4>

<p>此方程不显含 `k` 阶以下的导数. 令 `y = x^((k))`, 方程降低 k 阶.</p>

<h4>n 阶方程 `F(x, x', cdots, x^((n))) = 0`</h4>

<p>此方程不显含自变元, 令 `y = x'`, 降低 1 阶.</p>

<h4>齐次线性微分方程 `sum_(i=0)^n a_i(t) x^((i))(t) = 0`</h4>

<p>若有非零特解 `x_1, cdots, x_k`, 则令 `x = x_k int z dt`,
  化为 `z` 的 `n-1` 阶方程, 有解
  <span class="formula">
    `z_i = ((x_i)/(x_k))'`, `quad i = 1, 2, cdots, k-1`.
  </span>
</p>

<h3>幂级数解法</h3>

<p>	将
	<span class="formula">
		`y = sum_(n=0)^oo a_n x^n`, <br/>
		`y' = sum_(n=1)^oo n a_n x^(n-1)
			= sum_(n=0)^oo (n+1) a_(n+1) x^n`, <br/>
		`y^((k)) = sum_(n=k)^oo n(n-1)cdots(n-k+1) a_n x^(n-k)`
				`= sum_(n=0)^oo (n+k)cdots(n+2)(n+1) a_(n+k) x^n`
	</span>
	代入方程并比较系数, 注意幂级数的收敛半径.
</p>

<script src="../../js/note.js?type=math"></script>
</body>
</html>

